iT邦幫忙

2021 iThome 鐵人賽

DAY 13
0
自我挑戰組

社畜轉行之旅,30天Kotlin學習筆記系列 第 13

Day 13 | 同步與非同步- Thread類別與runOnUiThread()方法

  • 分享至 

  • xImage
  •  

Thread

Thread是Java的原生類別,當需要執行緒處理費時任務時,就可以新增該類別執行Task

 //產生一個Thread類別,實作Runnable介面及其內部run()方法
Thread(Runnable {
	//中間填寫要在Background Thread執行的code
}).start()
//最後用start()將執行緒啟用。

如果使用Kotlin的Lambda語法,可改成下面的撰寫方式

Thread{
	//中間填寫要在Background Thread執行的code
}.start()

由於Background Thread中不能進行畫面更新的task,當有此需求時須將更新內容交由Main Thread進行,此時使用runOnUiThread()方法與Handler類別

runOnUiThread()方法

由Activity提供與Main Thread溝通的方法,使用時須傳入實作Runnable的物件或使用Lambda語法

Thread{
	//要在Background Thread中執行的程式碼
	runOnUiThread{
		//要在Main Thread中執行的程式碼
	}
}

上一篇
Day 12 | 同步與非同步執行
下一篇
Day 14 | 同步與非同步- Handler類別
系列文
社畜轉行之旅,30天Kotlin學習筆記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言